#ifndef MIN_MAX_BOX_H
#define MIN_MAX_BOX_H
#include <limits.h>

class MinMaxBox
{
	public:
			MinMaxBox( )
                : minX(FLT_MAX)
                , minY(FLT_MAX)
                , minZ(FLT_MAX)
                , maxX(FLT_MIN)
                , maxY(FLT_MIN)
                , maxZ(FLT_MIN)
            {
            }

			virtual float getMinX( ) const
            {
				return minX;
			}

			virtual float getMinY( ) const
            {
				return minY;
			}

			virtual float getMinZ( ) const
            {
				return minZ;
			}

			virtual float getMaxX( ) const
            {
				return maxX;
			}

			virtual float getMaxY( ) const
            {
				return maxY;
			}

			virtual float getMaxZ( ) const
            {
				return maxZ;
			}

			virtual void setMinX( float x ) {
				minX = x;
			}

			virtual void setMinY( float y )
            {
				minY = y;
			}

			virtual void setMinZ( float z )
            {
				minZ = z;
			}

			virtual void setMaxX( float x )
            {
				maxX = x;
			}

			virtual void setMaxY( float y )
            {
				maxY = y;
			}

			virtual void setMaxZ( float z )
            {
				maxZ = z;
			}

            virtual void resetMinMaxXYZ( )
            {
                minX = FLT_MAX;
                maxX = FLT_MIN;
                minY = FLT_MAX;
                maxY = FLT_MIN;
                minZ = FLT_MAX;
                maxZ = FLT_MIN;
            }

	private:
		float minX;
		float minY;
		float minZ;

		float maxX;
		float maxY;
		float maxZ;
};

#endif // MIN_MAX_BOX_H

// EOF /////////////////////////////////////////////////////////////////////////